import request from '@/config/axios'

export interface Property {
  propertyId?: number // 属性编号
  propertyName?: string // 属性名称
  valueId?: number // 属性值编号
  valueName?: string // 属性值名称
}

export interface Sku {
  id?: number // 房产 SKU 编号
  name?: string // 房产 SKU 名称
  customerId?: number // 客户id
  customerName?: string // 客户名称
  spuId?: number // SPU 编号
  properties?: Property[] // 属性数组
  oldArea: number // 旧面积
  area: number // 新面积
  useNewArea: boolean //是否使用新面积
  isCalculate?: number //是否计入总面积
  status?: number // 房产状态
  saleStatus: number // 销售状态
}

export interface GiveCouponTemplate {
  id?: number
  name?: string // 优惠券名称
}

export interface Spu {
  id?: number
  name?: string // 房产名称
  address?: string // 房产地址
  categoryId?: number // 房产分类
  oldArea: number // 旧面积
  area: number // 新面积
  specType?: boolean // 房产规格
  skus?: Sku[] // sku数组
  description?: string // 房产详情
  createTime?: Date // 房产创建时间
  status?: number // 房产状态
}

// 获得 Spu 列表
export const getSpuPage = (params: PageParam) => {
  return request.get({ url: '/house/spu/page', params })
}

// 获得 Spu 列表 tabsCount
export const getTabsCount = () => {
  return request.get({ url: '/house/spu/get-count' })
}

// 创建房产 Spu
export const createSpu = (data: Spu) => {
  return request.post({ url: '/house/spu/create', data })
}

// 更新房产 Spu
export const updateSpu = (data: Spu) => {
  return request.put({ url: '/house/spu/update', data })
}

// 更新房产 Spu status
export const updateStatus = (data: { id: number; status: number }) => {
  return request.put({ url: '/house/spu/update-status', data })
}

// 获得房产 Spu
export const getSpu = (id: number) => {
  return request.get({ url: `/house/spu/get-detail?id=${id}` })
}

// 获得房产 Spu 详情列表
export const getSpuDetailList = (ids: number[]) => {
  return request.get({ url: `/house/spu/list?spuIds=${ids}` })
}

// 删除房产 Spu
export const deleteSpu = (id: number) => {
  return request.delete({ url: `/house/spu/delete?id=${id}` })
}

// 导出房产 Spu Excel
export const exportSpu = async (params) => {
  return await request.download({ url: '/house/spu/export', params })
}

// 获得房产 SPU 精简列表
export const getSpuSimpleList = async () => {
  return request.get({ url: '/house/spu/list-all-simple' })
}

// 获得房产 Sku 详情列表
export const getSkuPage = (params: PageParam) => {
  return request.get({ url: '/house/sku/page', params })
}

// 更新房产 Sku
export const updateSku = (data: Sku) => {
  return request.put({ url: '/house/sku/update', data })
}

// 获取房产 Sku 详情
export const getSku = (id: number) => {
  return request.get({ url: `/house/sku/get?id=` + id })
}

// 房产 Sku 列表
export const getHouseSkuSimpleList = async () => {
  return await request.get({ url: `/house/sku/simple-list` })
}

// 删除客户 房产 Sku
export const deleteSkuCustomer = (id: number) => {
  return request.delete({ url: `/house/sku/deleteSkuCustomer?id=` + id })
}

// 获取房产 Sku 分页面积
export const getSkuAreaPage = (params: PageParam) => {
  return request.get({ url: `/house/sku/area-page`, params })
}
